
/**
 * Universidad del Valle de Guatemala
 * CC2003 Algoritmos y Estructuras de Datos
 * Proyecto 1: Intérprete de LISP --> Lambda LISP
 * @version 2 Septiembre, 2009
 * Integrantes:
 *      @author Julio Chicas, José García, Ernesto Rodríguez, Karen Tojín
 **/
/**
 * Descripción: Clase auxiliar el manejo de las listas
 **/
import java.util.Iterator;
import java.util.LinkedList;

public class Lista<E> extends LinkedList {

    /**
     * Redefinición del Método toString de las listas
     * @return Una lista ingresada, con un nuevo formato de despliegue
     */
    @Override
    public String toString() {
        StringBuffer buf = new StringBuffer();
        buf.append("(");

        Iterator<E> i = iterator();
        boolean hasNext = i.hasNext();
        while (hasNext) {
            E o = i.next();
            buf.append(o == this ? "(this Collection)" : String.valueOf(o));
            hasNext = i.hasNext();
            if (hasNext) {
                buf.append(" ");
            }
        }

        buf.append(")");
        return buf.toString();
    }
}
